<?php

Yii::import('application.modules.cuentas.models._base.BaseContactosCrugeUser');

class ContactosCrugeUser extends BaseContactosCrugeUser {

    /**
     * @return ContactosCrugeUser
     */
    public static function model($className = __CLASS__) {
        return parent::model($className);
    }

    public static function label($n = 1) {
        return Yii::t('app', 'Contacto Cruge User|ContactosCrugeUsers', $n);
    }

    public function relations() {
        return array_merge(parent::relations(), array(
            'contactos' => array(self::HAS_ONE, 'Contactos', 'id'),
            'crugeUser' => array(self::BELONGS_TO, 'CrugeStoredUser', 'cruge_user_id'),
                )
        );
    }

    /**
     * Busca si un usuario esta guardado en la tabla contactocrugeuser
     * @author Mauricio Chamorro <unrealmach@gmail.com>
     * @return \ContactosCrugeUser
     */
    public function de_cruge_user() {
        $this->getDbCriteria()->mergeWith(
                array(
                    'condition' => 't.cruge_user_id=:cruge_user_id',
                    'params' => array(
                        ':cruge_user_id' => Yii::app()->user->id,
                    )
                )
        );
        return $this;
    }

    public function de_contacto($contacto_id) {
        $this->getDbCriteria()->mergeWith(
                array(
                    'condition' => 't.contacto_id=:contacto_id AND t.cruge_user_id = :cruge_user_id',
                    'params' => array(
                        ':cruge_user_id' => Yii::app()->user->id,
                        ':contacto_id' => $contacto_id,
                    )
                )
        );
        return $this;
    }

    /**
     * Realiza el guardado de una contacto en la tabla contactoCrugeUser
     * @author Sofia Mejia <amandasofiamejia@gmail.com>
     * @param id $contacto_id
     * @return boolean : true guardado exitoso, false error guardado
     */
    public function guardarContactoCrugeUser($contacto_id) {
        if (!empty($contacto_id)) {
            $modelC = new ContactosCrugeUser;
            $modelC->contacto_id = $contacto_id;
            $modelC->cruge_user_id = Yii::app()->user->id;
            if ($modelC->save()) {
                return true;
            } else {
                throw new Exception("No se asigno el contacto al usuario");
            }
        }
    }

}
